home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / MATH / NRPAS13 / KENDL1.PAS < prev    next >
Pascal/Delphi Source File  |  1991-04-29  |  973b  |  37 lines

  1. PROCEDURE kendl1(data1,data2: glnarray; n: integer; VAR tau,z,prob: real);
  2. (* Programs using routine KENDL1 must define type
  3. TYPE
  4.    glnarray = ARRAY [1..n] OF real;
  5. in the calling routine *)
  6. VAR
  7.    n2,n1,k,j,is: integer;
  8.    svar,aa,a2,a1: real;
  9. BEGIN
  10.    n1 := 0;
  11.    n2 := 0;
  12.    is := 0;
  13.    FOR j := 1 TO n-1 DO BEGIN
  14.       FOR k := j+1 TO n DO BEGIN
  15.          a1 := data1[j]-data1[k];
  16.          a2 := data2[j]-data2[k];
  17.          aa := a1*a2;
  18.          IF (aa <> 0.0) THEN BEGIN
  19.             n1 := n1+1;
  20.             n2 := n2+1;
  21.             IF (aa > 0.0) THEN BEGIN
  22.                is := is+1
  23.             END ELSE BEGIN
  24.                is := is-1
  25.             END
  26.          END ELSE BEGIN
  27.             IF (a1 <> 0.0) THEN n1 := n1+1;
  28.             IF (a2 <> 0.0) THEN n2 := n2+1
  29.          END
  30.       END
  31.    END;
  32.    tau := is/(sqrt(n1)*sqrt(n2));
  33.    svar := (4.0*n+10.0)/(9.0*n*(n-1.0));
  34.    z := tau/sqrt(svar);
  35.    prob := erfcc(abs(z)/1.4142136)
  36. END;
  37.